/*定义Point数组类（类名AofPoint）{
私有数据:
    指向数组的指针
    数组的元素个数
公有成员:
    构造函数: 实现大小为size的Point数组的初始化（动态创建）
    析构函数
    拷贝构造函数（深层拷贝）
    visit_point函数:实现通过下标访问数组中的特点Point元素
};*/

#ifndef AOFPOINT_H
#define AOFPOINT_H

#include "Point.h"
using namespace std;

class AofPoint {
   private:
    int size;
    Point *points;

   public:
    AofPoint(int size) : size(size) {
        points = new Point[size];
    }
    ~AofPoint() { delete[] points; }
    AofPoint(const AofPoint &that) : size(that.size), points(new Point[that.size]) {
        for (int i = 0; i < size; i++) {
            points[i].move(that.points[i].getX(), that.points[i].getY());
        }
    }
    Point &visit_point(int index) {
        return points[index];
    }
};

#endif